#ifndef GAMETD_MANAGER_H
#define GAMETD_MANAGER_H

template<typename T>
class Manager {
public:
    Manager(const Manager &) = delete;
    Manager &operator=(const Manager &) = delete;

    static T &Instance()
    {
        static T instance;
        return instance;
    }

protected:
    Manager() = default;
    ~Manager() = default;
};

#endif // GAMETD_MANAGER_H
